// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
    env: cloud.DYNAMIC_CURRENT_ENV
}) // 使用当前云环境
const db = cloud.database()
const _ = db.command
// 云函数入口函数
exports.main = async (event, context) => {
    console.log(event);
    try {
        // 解析支付结果
        const {
            event_type,
            resource
        } = event

        // 校验支付结果
        if (event_type !== 'TRANSACTION.SUCCESS') {
            console.error('支付失败:', event)
            return {
                success: false,
                message: '支付失败'
            }
        }

        // 更新订单状态
        const updateResult = await db.collection('orders').where({
            outTradeNo: resource.outTradeNo
        }).update({
            data: {
                status: 2,
                payTime: db.serverDate(),
                transactionId: resource.transactionId
            }
        })

        if (updateResult.stats.updated === 0) {
            console.error('未找到对应订单:', outTradeNo)
            return {
                success: false,
                message: '未找到对应订单'
            }
        }

        console.log('订单支付成功:', outTradeNo)
        return event
    } catch (error) {
        console.error('处理支付回调失败:', error)
        return {
            success: false,
            message: error.message || '处理支付回调失败'
        }
    }
};